package DomainLayer.Common;

import Annotations.AttributeNameAnnotation;

public abstract class AbstractValueObject {
	@AttributeNameAnnotation(Name = "ID", isAggregator = false)
	private Integer id;

	public AbstractValueObject() {
		id = null;
	}

	public AbstractValueObject(AbstractValueObject currentState,
			Object... changes) {
		id = (changes[0] != null ? ((Integer) changes[0]).intValue()
				: currentState.id);
	}

	public Integer getId() {
		return id;
	}
}
